#import <UIKit/UIKit.h>
#import <AssetsLibrary/AssetsLibrary.h>

@class SimMulImagePickerVC;

@protocol SimMulImagePickerDelegate <NSObject>

@optional
- (void)simImagePicker:(SimMulImagePickerVC *)imagePicker didFinishPickerWithAssets:(NSArray *)assets;
- (void)simImagePickerDidCancel:(SimMulImagePickerVC *)imagePicker;

- (BOOL)simImagePicker:(SimMulImagePickerVC *)imagePicker shouldSelectAsset:(ALAsset *)asset;

@end

typedef NS_ENUM(NSUInteger, SimImagePickerFilterType) {
    SimImagePickerFilterTypeNone = 0,
    SimImagePickerFilterTypePhotos,
    SimImagePickerFilterTypeVideos
};

@interface SimMulImagePickerVC : UIViewController

@property (nonatomic, weak) id<SimMulImagePickerDelegate> delegate;

@property (nonatomic, copy) NSArray *groupTypes;
@property (nonatomic, assign) SimImagePickerFilterType filterType;

@property (nonatomic, assign) BOOL allowsMultipleSelection;
@property (nonatomic, assign) NSUInteger minimumNumberOfSelection;
@property (nonatomic, assign) NSUInteger maximumNumberOfSelection;

@property (nonatomic, copy) NSString *prompt;
@property (nonatomic, assign) BOOL showsNumberOfSelectedAssets;

@property (nonatomic, assign) NSUInteger numberOfColumnsInPortrait;
@property (nonatomic, assign) NSUInteger numberOfColumnsInLandscape;

@property (nonatomic, strong, readonly) NSMutableArray *selectedAssets;
@property (nonatomic, strong, readonly) NSArray *assetsGroups;
@property (nonatomic, strong, readonly) ALAssetsLibrary *assetsLibrary;


@property (nonatomic, assign) BOOL showsCancelButton __attribute__((deprecated));

+ (BOOL)isAccessible;

@end
